home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-05-01 | 5.6 KB | 166 lines | [TEXT/MPS ] |
- /*
- File: TSMObject.idl
-
- Contains: Declarations for the SOM based Text Services Manager service Objects.
-
- Version: Technology: 3/11/96 1/26/96 12/14/95 12/14/95 6/20/95 6/20/95 4/20/95 2/21/95
- Release: Universal Interfaces 3.0d3 on Copland DR1
-
- Copyright: © 1995-1996 by Apple Computer, Inc. All rights reserved.
-
- Bugs?: If you find a problem with this file, send the file and version
- information (from above) and the problem description to:
-
- Internet: apple.bugs@applelink.apple.com
- AppleLink: APPLE.BUGS
- */
-
-
- #include <somobj.idl>
- #include <somcls.idl>
- #include <Types.idl>
- #include <HIWindows.idl>
- #include <Keyboard.idl>
- #include <AEDataModel.idl>
- #include <TextObjects.idl>
- #include <TextServices.idl>
-
- interface TSMObject : SOMObject
- {
- /*
- The TSMContext that is the owner of the Object
- */
- attribute TSMContext fTSMContext;
- /*
- The Status of the last operation on this object
- */
- attribute OSStatus fStatus;
- /*
- The text service context that has been attached to this object
- */
- attribute TSMServiceContextRef fServiceContext;
- /*
- Initialize the service. Should be overriden by the actual TextService
- so it may perform an initialization of its private data structures, and
- attach its ServiceContext to the object.
- */
- OSStatus InitializeService();
- /*
- Terminate the service. Should be overriden by the Text Service to perform
- any cleanup prior to the object being destroyed.
- */
- OSStatus TerminateService();
- /*
- Text Service changed. This call is generated when the working state of the
- text service is being changed. Such changes may include Language, or
- Locale Manager specification. The service should check the
- Service Specification, and modify its state to reflect the requested change.
- */
- OSStatus ServiceChanged();
- /*
- EditInlineHole. Tells the TextService to re-edit a portion of text that was
- previously an in-line hole. This is primarily used for UNDO perposes,
- but may be used for mulit-option area's controlled by the textservice
- */
- OSStatus EditInlineHole(in AppleEvent *theEvent);
- /*
- FeatureChanged. One of the TSM Feature set has changed, this could be registered
- handlers, FloatingWindow usages or any of the other features.
- If the service is keeping track of features, is should query the current
- state of the features that interest it.
- */
- OSStatus FeatureChanged (in UInt32 theType);
-
- /*
- Text Service Activate. Called when the Input Method is being activated, the
- input method should respond by showing its user interface elements, and
- preparing itself in an active state.
- */
- OSStatus ActivateService();
- /*
- Text Service Deactivate. The input method is being deactivated. It should hide
- its user interface, fix any text input, and set itself in a deactivated
- state. An input method should release any unecessary resources when it is
- deactivated, but should maintain any state information.
- */
- OSStatus DeactivateService();
- /*
- Service Event. The input method has the opertunity to act on the current key
- event. If it handles the current event, and does not want the application
- to recieve the event, it should return "true". It should not modify the
- content of the event structure, as there may be other text services who will
- be looking at the event.
- */
- OSStatus ServiceMouseEvent(in Point *mousePos, in KeyboardModifiers Modifiers, in UInt32 when, in UInt32 theEventType, in AppleEvent *event);
- /*
- Service Mouse Event. The input method has the opertunity to act on the current Mouse
- event. If it handles the current event, and does not want the application
- to recieve the event, it should return "true". It should not modify the
- content of the event structure, as there may be other text services who will
- be looking at the event.
- */
- OSStatus ServiceKeyEvent(in KeyboardModifiers Modifiers, in VirtualKeyCode theKeyCode, in VirtualKeyCode theCharCode, in AppleEvent *event);
- /*
- Service Window Event. The input method has the opertunity to act on the current Window
- event. If it handles the current event, and does not want the application
- to recieve the event, it should return "true". It should not modify the
- content of the event structure, as there may be other text services who will
- be looking at the event.
- */
- OSStatus ServiceWindowEvent(in HIWindow theWindow, in UInt32 theEventType, in AppleEvent *event);
- /*
- Hide Service Widnows. The input method should hide its service windows. This
- will normally be followed by a Deactivate method call.
- */
- OSStatus HideServiceWindows();
- /*
- Set Cursor. If the input method wants cursor control, it should process this
- method, and set the cursor. If it does set the cursor, it should return
- "true" otherwise it should return "false".
- */
- OSStatus DoSetCursor (in Point *mousePos, in RegionClass rgnClass, in ByteOffset offset, in boolean isLeftHand, in AppleEvent *theEvent);
- /*
- * Release inline holes
- */
- OSStatus ReleaseInlineHoles ();
- /*
- * Terminate current input
- */
- OSStatus TerminateInput ();
-
-
- #ifdef __SOMIDL__
- implementation
- {
- passthru C_h_before = "#include <TextServices.h>";
- releaseorder: _get_fTSMContext,
- _set_fTSMContext,
- _get_fStatus,
- _set_fStatus,
- _get_fServiceContext,
- _set_fServiceContext,
- InitializeService,
- TerminateService,
- ServiceChanged,
- EditInlineHole,
- FeatureChanged,
- ActivateService,
- DeactivateService,
- ServiceKeyEvent,
- ServiceMouseEvent,
- ServiceWindowEvent,
- ReleaseInlineHoles,
- HideServiceWindows,
- DoSetCursor,
- TerminateInput;
- somInit: override;
- majorversion = 1;
- minorversion = 1;
-
- };
- #endif
-
- };
-
-
-